//
//  main.c
//  函数
//
//  Created by ws on 2017/7/17.
//  Copyright © 2017年 王松. All rights reserved.
//

#include <stdio.h>

/**
 函数:完成特定功能的代码块
 返回类型 函数名称(参数类型 参数名称 ,参数类型 参数名称...... )
 作用:管理代码
 函数的优点:1.提高代码的可读性
          2.提高代码的复用性
          3.提高代码的可维护性
 void:就是当函数没有返回值的时候就将函数的返回值类型声明成void
 当函数的返回值类型为void的时候,return可以省略
 什么是形式参数:当我们完成某个功能,有些数据不能确定,需要外界传递给我们
 返回值类型:函数执行完毕返回是什么样类型的值给函数调用者
 调用者:谁调用了这个函数 谁就是函数调用者
 */


/**
 无形参 无返回值的函数
 实现打印一个玫瑰花
 */
void printOneRose(){
        printf("{@}\n");
        printf("\\|/\n");
        printf(" | \n");
        printf(" | \n");
}
/**
 有形参 无返回值的函数
 实现打印多个玫瑰花
 @param n 打印次数
 */
void printRoseWithCount(int n){
    for (int i = 0; i < n; i++) {
        printOneRose();
    }
}
/**
 有形参有返回值的函数
 计算两个数的和的函数
 */
int sum(int num1 , int num2){
    
    return num1 + num2;
}
/**
 定义一个有返回值,没有形参的函数
 
 */
double pi(){
    return 3.1415926;
}
/**
 main函数
 1.从第一个C语言程序开始,就认识了这个main函数.main函数是整个C程序的入口,有了main函数,C程序才能运行成功,而且整个C程序中只能有一个main函数
 2.它可以没有形式参数,返回值是int类型.它的返回值用于说明程序的退出状态:如果返回0,则代表程序正常退出,否则代表程序异常退出


 */
int main(int argc, const char * argv[]) {

//    printOneRose();
//    printRoseWithCount(2);
//    printf("%d\n",sum(1,2));//main就是函数调用者
    printf("%lf",pi());
    return 0;
}
